home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / c / lbbs07 / lazybbs.txt < prev    next >
Text File  |  1993-06-05  |  12KB  |  364 lines

  1.  
  2.  
  3.                      LazyBBS - The Ultimate BBS for Lazy People
  4.  
  5.                           Preliminary Documentation July 92
  6.                                 (last update: 06/93)
  7.  
  8.                         *** PUBLIC DOMAIN AND UNSUPPORTED ***
  9.                         
  10.                         
  11.  
  12. >>> INTRODUCTION
  13. ----------------
  14.  
  15.     LazyBBS is a very simple BBS program for a Pandora Fidonet 
  16.     message base (used by Led, Qbbs, Bermuda, IOS, etc on the Atari
  17.     ST). And FILES.BBS-like download areas.
  18.  
  19.     The basic idea behind LazyBBS is that a (lazy) sysop don't want to
  20.     spend hours/days configuring and maintaining the BBS, the BBS being 
  21.     an introduction to Fidonetting, the users who want sophisticated 
  22.     features will install a point system, which is anyway much more 
  23.     convienent than a BBS can ever be.
  24.     
  25.     The limits are the same for everyone, 300KB files per user per day, 
  26.     50 KB the first. The download limit can be customized with the
  27.     maxdown keyword in the BBS config file. The limit on the first day
  28.     is 1/6th of the general limit (300/6=50) rounded to 10 (200/6=33
  29.     makes 30). The maximum connection time can be set with the
  30.     maxtime keyword in BBS config, default is 45 minutes. Inactivity
  31.     timeout is 5 minutes. It is possible to prevent a user from
  32.     downloading.
  33.  
  34.     A "Guest" user is supported (enter "guest" at 1st name prompt),
  35.     s/he can't download nor write messages.
  36.  
  37.     To run it you need:
  38.     - a pandora message base setup (described by areas.bbs)
  39.     - top.mnu (the top menus) in the current dir (see samples)
  40.     - welcome.txt and bye.txt screens
  41.     - (optionally) the others *.mnu called by top.mnu
  42.     - (optionally) question.txt - new users questions
  43.     - (optionally) intro.txt - intro page
  44.     - (optionally) files.bbs type download areas
  45.  
  46.     At every prompt, you can log out with <control>-d.
  47.  
  48.     Note: It is not planned to provide a post-preliminary documentation.
  49.  
  50.  
  51. >>> INPUT/OUTPUT
  52. ----------------
  53.  
  54.     The basic idea was that the I/O should be done on the standard input 
  55.     and standard output (stdin/stdout), and then redirected for
  56.     remote use. 
  57.  
  58.     A second mode allow to have I/O on two devices, the stdio
  59.     (usually sysop console) and the user terminal. The command line 
  60.     switch is -d<device>
  61.  
  62.     In the Atari (TOS) version, in the -d mode the I/O is directed to
  63.     both the console and the RS232, so you have a copy of users screen 
  64.     on the console, and you can type if you want to guide the 
  65.     users or to kick him/her (type ctrl-d at any user prompt). The
  66.     <device> can be optionnaly used for an xbios device number to use
  67.     MegaSTE/TT modem2/serial1/serial2 ports. (e.g. -d5) the default is 
  68.     still good old modem1 port. :) You can't use -c with -d though.
  69.     
  70.  
  71.     So, to launch it type "bbs" at a shell prompt, for example (Atari ST):
  72.     
  73.     - local example: 
  74.         cd \bbs   # where *.mnu users.bbs etc are
  75.         bbs
  76.     - remote example: 
  77.         cd \bbs
  78.         bbs -c -d
  79.  
  80.  
  81. >>> COMMAND LINE
  82. ----------------
  83.  
  84.     -c           watch carrier (default: no)
  85.  
  86.     -d<device>   duplicate input/output to <device> (default: no)
  87.     
  88.     -g           god (sysop :-)) mode, allows to read others' netmail,
  89.                  to see kludges in echomail, etc.
  90.     
  91.  
  92. >>> FILE FORMATS
  93. ----------------
  94.  
  95.     LazyBBS uses the following files:
  96.  
  97.     bbs.cfg     Configuration file (see below)
  98.  
  99.     areas.bbs   Format described in your fidonet software documentation.
  100.                 An add-on to this format is groups: all areas placed after
  101.                 a "-group grpname" line, will belong to the group named
  102.                 (8 ascii letters max) "grpname". There is no need to put 
  103.                 one -group line before each area. Group names
  104.                 starting with '_' are reserved for internal program
  105.                 use.
  106.  
  107.     areafix.bbs (optional) for area descriptions, documented in Areafix
  108.                 documentation.
  109.  
  110.     top.mnu     The main menu file (format described below)
  111.  
  112.     welcome.txt (optional) First page, a text file
  113.  
  114.     bye.txt     (optional) Last page, a text file
  115.     
  116.     question.txt(optional) new users questions
  117.  
  118.     intro.txt   (optional) intro text before login
  119.  
  120.     hotnews.txt (optional) is displayed after login if user has not seen it
  121.  
  122.  
  123.     * CONFIG FILE
  124.     
  125.     A text file with lines like <tag> <value>
  126.  
  127.     The valid parameters are:
  128.  
  129.     address <node>     fidonet node number for the from field in netmail messages
  130.     logfile <logfile>  name of logfile (default: bbs.log)
  131.     areascfg <areas>   path to areas.bbs file (default: current dir)
  132.     netmail <netmail>  netmail area root name
  133.     prompt <prompt>    customize LazyPrompt(tm) (default: LazyBBS>)
  134.     uucpgate <fidoaddr>fidonet node nr of the neareast uucp gateway
  135.     global <config>    config file for global download, <config> is
  136.                        the filename of a file containing paths to 
  137.                        download areas see GLOBAL DOWNLOAD below.
  138.     maxdown <kilobytes>maximum download per day, the same for every
  139.                        user.
  140.     maxtime <minutes>  maximum minutes per day, for everyone
  141.  
  142.     * LOGFILE
  143.     
  144.     It's a standard Fidonet logfile … la TheBox and Bermuda.
  145.     
  146.     * MENU FILES
  147.  
  148.     Each menu is described in a simple text file.
  149.     
  150.     TOP.MNU is the top menu called at startup (after the login).
  151.     
  152.     These files are text files, each line not beginning by $/ will be 
  153.     sent to the screen as is.
  154.     
  155.     Lines beginning by $/ and $# are used to set the hotkeys, and the 
  156.     functions associated with a hotkey.
  157.     
  158.     The standard syntax of the $/ line is:
  159.     
  160.     $/<key>=<action>[space][parameters]
  161.  
  162.     The syntax of the $# line is:
  163.  
  164.     $#<flags>/<key>=<action>[space][parameters]
  165.  
  166.     <flag> is a letter, the users needs to have this flag set in
  167.     order to acces this menu. (see users file desc for flags).
  168.  
  169.     <key> is the hotkey, e.g. "A" not case sensitive.
  170.     
  171.     <action> is a 8 chars max alphabetic string which describes an
  172.     internal functions:
  173.  
  174.     top             return to top menu
  175.  
  176.     hangup          drop the line and quit
  177.  
  178.     info            display BBS software version etc
  179.  
  180.     password        Change password
  181.  
  182.     userinfo        User information
  183.     
  184.     chat            Chat with sysop
  185.     
  186.     gdown           Global download
  187.  
  188.     menu <file>     gosub to menu <file>
  189.  
  190.     download <path> display files.bbs and allow user to download a 
  191.                     file in a given directory.
  192.  
  193.     upload <path>   user uploads a file to given path
  194.  
  195.     more <file>     displays a file with a more prompt.
  196.  
  197.     read <group>    user reads echomail messages from an area in
  198.                     the selected group (see areas.bbs description
  199.                     above)
  200.  
  201.     read _private   read private mail in netmail area
  202.  
  203.     readw <par>     like read, but allow replies
  204.  
  205.     write _sysop    write a private message to sysop
  206.  
  207.     write _local    write a private message to another user of the board
  208.  
  209.     write _fido     write a private fidonetmail
  210.  
  211.     write _uucp     write to the nearest uucp gateway
  212.  
  213.     write <group>   user writes a message to an area of the group he
  214.                     selected.
  215.  
  216.  
  217.     Of course there is no menu editor as you can use any text editor.
  218.     
  219.     The program adds the connection minutes left at the start of
  220.     each menu.
  221.  
  222.     An example menu:
  223.     
  224.     ([*] Hangup)
  225.  
  226.  
  227.         >>>>>>>>>>> Main Menu <<<<<<<<<<<
  228.         >                               <
  229.         >       [M]ail (private)        <
  230.         >       [E]chos (public)        <
  231.         >       [B]ulletins             <
  232.         >       [D]ownload a file       <
  233.         >       [U]pload a file         <
  234.         >       [C]hat (restricted)     <
  235.         >                               <
  236.         >>>>>>>>>>>>>>>>=<<<<<<<<<<<<<<<<   
  237.  
  238.     $/*=hangup
  239.     $/B=menu bull.mni
  240.     $/M=read private
  241.     $/E=read usergrp
  242.     $/d=download j:\st_files\
  243.     $/U=upload j:\uploads\
  244.     $#s/C=chat
  245.     
  246.     * LAZYBBS USERS FILE
  247.     
  248.     Each user is described in a line of the file named "users.bbs" place in
  249.     the current directory. Each entry is like that:
  250.  
  251.     <first_name>!<last_name>!<password>!<address>!<flags>! [...]
  252.         <last-login-date>!<kb-downloaded-last-day>!<call-number>
  253.  
  254.     Flags are characters "abz" means users as flag a, flag b, flag z.
  255.  
  256.     The last login date is in _days_ since 1/1/1970.
  257.  
  258.     If the number of kb downloaded today equals minus one the user 
  259.     can't download.
  260.  
  261.     Example:
  262.  
  263.     Joe!Smith!Nicetown, Nicestate NI11111!!1832!0!12
  264.     Jacques!Dupont!Belleville, Cebeuq!z!1815!-1!14
  265.  
  266.     * USER QUESTION FILES
  267.  
  268.     The "question.txt" includes a question per line that will be asked 
  269.     to the user when he creates his login. To make multilines questions
  270.     put C-like "\n" as line separators in your question line. Answers are 
  271.     logged in "answers.txt".
  272.  
  273.     Example:
  274.  
  275.     How old are you?
  276.     Where did you know about this board\nPress? Others boards? Etc.
  277.  
  278.     * GLOBAL DOWNLOAD FILE
  279.     
  280.     This file is used for the global download, it is compatible with 
  281.     POF! config files. (POF! is a master file listing generator).
  282.     
  283.     Every line not starting by '#' '@' ';' is a path to areas:
  284.     
  285.     Example:
  286.     
  287.     ; comment
  288.     @insert.txt
  289.     # COMMENT
  290.     /usr/bbs/download/unix
  291.     /usr/bbs/download/gif
  292.     
  293.     
  294. >>> PROTOCOLS
  295. -------------
  296.  
  297.     The external protocols used are the program rz and sz, who takes 
  298.     the receiving path for the first one, the file to send for the second
  299.     one on the command line. I myself use the sz.ttp/rz.ttp provided with 
  300.     Rufus on the Atari ST version.
  301.  
  302.  
  303. >>> MANIFEST
  304. ------------
  305.  
  306.     You should have received the following files in the standard 
  307.     distribution:
  308.  
  309.     [source]
  310.     bbs.h                   BBS config
  311.     bbs.c                   Main module
  312.     linedit.c;linedit.h     Line Editor
  313.     msg.c;msg.h;qbbs.h      Pandora message base support
  314.     login.c;login.h         Login
  315.     miscio.c;miscio.h       Level 1 - IO & utilities
  316.     sysdep.c;sysdep.h       Level 0 - System dependant
  317.     match.c;match.h         J. Kercheval's regular expression library
  318.     
  319.  
  320.     [sample config files]
  321.     top.mnu      Sample BBS - top menu
  322.     bull.mnu     Sample BBS - bulletin menu
  323.     mail.mnu     Sample BBS - mail menu
  324.     welcome.txt  Sample BBS - welcome screen
  325.     bye.txt      Sample BBS - bye screen
  326.     question.txt Sample BBS - new users questions
  327.  
  328.     [documentation]
  329.     lazyuser.txt User's guide (bulletin)
  330.     lazybbs.txt  (this file) - Sysop's guide
  331.     readme.txt   Readme file
  332.     match.doc    J. Kercheval's regular expression library - doc
  333.  
  334.     [atari st dependant]
  335.     bbs.prj      Lattice C 5.5 Project file
  336.     bbs.ttp      Atari ST Binary
  337.     
  338.     [unix dependant]
  339.     Makefile     type make <enter> :-) and debug :-)
  340.     
  341. >>> LICENSE
  342. -----------
  343.  
  344.     This software is public domain.
  345.     It can be copied and sold freely.
  346.  
  347.     (yeah, it can be sold, i'm bored by all those restrictive licenses)
  348.  
  349. >>> SUPPORT
  350. -----------
  351.  
  352.     This software is not likely to do what you want it to do. It is 
  353.     not supported. Have fun :-).
  354.  
  355.  
  356. >>> CREDITS
  357. -----------
  358.  
  359.     Software originally written by Franck Arnaud.
  360.     Line message editor written by Vincent Archer.
  361.     Powerful LazyPrompt(tm) algorithm by Vincent Pomey.
  362.     The authors disclaim everything. Whatever happens,
  363.     it IS your own stupid fault.
  364.